package com.jinzhi.jzweb.strategy;

import com.baomidou.mybatisplus.plugins.Page;
import com.jinzhi.common.utils.Result;
import com.jinzhi.jzweb.domain.ExaminationBatchDO;
import com.jinzhi.jzweb.domain.ExaminationResultsComDO;
import com.jinzhi.jzweb.domain.StuSignUpComDO;
import com.jinzhi.jzweb.pojo.VtatisticsVo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletResponse;
import java.util.Date;

/*
 *  @author : JingChangTian
 *  @date   : 2023/6/3 14:09
 *  @description :  赛场策略模式：A:不同赛场不同统计策略  B:不同赛场不同打分策略
 *
 */
public interface BaseStrategy {

    /**
     * A策略
     * 赛场成绩统计
     * @param examinationAnswerSheetComDTO
     * @return
     */
    Result<VtatisticsVo> list(ExaminationResultsComDO examinationAnswerSheetComDTO) throws NoSuchFieldException, IllegalAccessException;


    /**
     * 打分裁判查询策略
     * @param id
     * @return
     */
    Page<StuSignUpComDO> getStuSignByCourt2(String id, Integer curr, Integer pageSize);

    /**
     * 列表页面返回策略
     * @return
     */
    String pageReturn();

    /**
     * 题目打分页面返回策略
     * @return
     */
    String markReturn(Integer type);

    /**
     * 导出策略
     * @param response
     */
    void downloadImportTemplate(HttpServletResponse response,String id);


}
